#pragma once
#include <string>
using namespace std;

typedef struct 
{
	int x;
	int y;
} MyPoint; 


class MyGraphics
{
public:
	//-------------------------------------------
	// Dinh nghia cac ham khoi tao
	//-------------------------------------------
	MyGraphics(void)
	{
	}

	~MyGraphics(void)
	{
	}

	//-------------------------------------------
	// Dinh nghia cac ham do hoa
	//-------------------------------------------

	// Ham ve duong thang
	virtual void DrawLine(char RGBStroke[], int strokeWidth, int x1, int y1, int x2, int y2) = 0;

	// Ham ve Elipse
	virtual void DrawEllipse(char RGBStroke[], int strokeWidth, int x, int y, int width, int height) = 0;

	// Ham ve hinh chu nhat
	virtual void DrawRectangle(char RGBStroke[], int strokeWidth, int x, int y, int width, int height) = 0;

	// Ham ve Text
	virtual void DrawText2(char RGBStroke[], char* text, int size, int x, int y) = 0;

	// Ham ve mui ten
	virtual void DrawArrow(char RGBStroke[], int strokeWidth, int x1, int y1, int x2, int y2) = 0;

	// Ham ve duong cong

	// Ham to Elipse
	virtual void FillEllipse(char RGBStroke[], int x, int y, int width, int height) = 0;

	// Ham to hinh chu nhat
	virtual void FillRectangle(char RGBStroke[], int x, int y, int width, int height) = 0;

	// Ham to hinh da giac
	virtual void FillPolygon(char RGBStroke[], MyPoint points[], int numPoints) = 0;

	// Lay ten thu vien do hoa
	virtual string GetName() = 0;
};







